Method for Converting Speech Using Sparsity Constraints

ABSTRACT

A method converts source speech to target speech by first mapping the source speech to sparse weights using compressive sensing technique, and the transforming, using transformation parameters, the sparse weights to the target speech.

FIELD OF THE INVENTION

This invention relates generally processing speech, and more particularly to converting source speech to target speech.

BACKGROUND OF THE INVENTION

Speech enhancement for automatic speech recognition (ASR) is one of the most important topics for many speech applications. Typically speech enhancement removes noise. However, speech enhancement does not always improve the performance of the ASR. In fact, speech enhancement can degrade the ASR performance even when the noise is correctly subtracted.

The main reason for the degradation comes from a difference of speech signal representations between power spectrum and Mel-frequency cepstral coefficient (MFCC) domains. For example, spectral subtraction can drastically denoise speech signals. However, because spectral subtraction makes speech signals unnatural, e.g., discontinuities due to a flooring process, outliers are enhanced during the MFCC feature extraction step, which degrades the ASR performance.

One method deals with the denoising problem in the MFCC domain that does not retain the additivity property of signals and noises, unlike the power spectrum domain. That method does not drastically reduce noise components because the method directly enhances the MFCC features. Therefore, that method yields better denoised speech in terms of the ASR performance.

Speech Conversion Method

FIG. 1 shows a conventional method for converting noisy source speech 104 to target speech 103 that uses training 110 and conversion 120. The method derives statistics according to a Gaussian mixture model (GMM).

Training

During training step, transformation matrices are estimated 114 from training source speech 102 and training target speech 101, which are so called parallel (stereo) data that have the same linguistic contents. A target feature sequence is

X={x _(t) εR ^(D) |t=1, . . . ,T},

and a source feature sequence is

Y={y _(t) εR ^(D) |t=1, . . . ,T},

where T is the number of speech frames, D) is the number of dimensionality, and X and Y D×T matrices.

Herein, speech and features of the speech are used interchangeable in that allmost all speech processing methods operate on features extracted from speech signals, instead of on the raw speech signal itself. Therefore, it is understood that the term “speech” and a speech signal can be a speech feature vector.

Feature Mapping

In the feature mapping module 112, the source feature y_(t) is mapped to a posterior probability γ_(k,t) of a Gaussian mixture component k at a frame t as

$\begin{matrix} {{\gamma_{k,t} = \frac{N\left( {\left. y_{t} \middle| k \right.,\Theta} \right)}{\sum\limits_{k = 1}^{K}\; {N\left( {\left. y_{t} \middle| k \right.,\Theta} \right)}}},} & (1) \end{matrix}$

where K is the number of components and Θ is a set of parameters of the GMM. N( ) is a Gaussian distribution.

Transformation Parameter Estimation

For the posterior probability γ_(k,t), a linear transformation is

$\begin{matrix} {x_{t} = {y_{t} + {\sum\limits_{k = 1}^{K}\; {b_{k}\gamma_{k,t}}}}} & (2) \end{matrix}$

where b_(k) is a bias vector that represents a transformation from y_(t) to x_(t). The linear transformation matrix of the speech feature vectors, e.g., Σ_(k=1) ^(K)γ_(k,t)(A_(k)y_(t)+b_(k)), where A_(k) is a matrix of weights, can also be considered. However, it is practical to consider only bias vectors because the linear transformation does not necessarily improve the ASR performance and requires a complicated estimation process.

The transformation parameter estimation module estimate b_(k) statistically. By considering the above process for all frames, Eq. (2) is represented in the following matrix form:

$\begin{matrix} {{X = {{Y + {B\; \Gamma}} = {\left\lbrack {I_{D}\mspace{31mu} B} \right\rbrack \begin{bmatrix} Y \\ \Gamma \end{bmatrix}}}},} & (3) \end{matrix}$

where I_(D) is the D×D identity matrix, Γ is a K×T matrix composed of the posterior probabilities {{γ_(k,t)}_(k=1) ^(K)}_(t=1) ^(T), B is a D×K matrix composed of K bias vectors, i.e., B=[b_(k=1), . . . , b_(k=K)].

Eq. (3) indicates the interpretation that the source signal Y is represented in an augmented feature space [Y^(T), Γ^(T)]^(T) by expanding the source feature space with the Gaussian posterior-based feature space. That is, the source signal is mapped into points in the high-dimensional space, and the transformation matrix [I, B] can be obtained as a projection from the augmented feature space to the target feature space.

The bias matrix is obtained by minimum mean square error (MMSE) estimation

$\begin{matrix} {{\underset{B}{argmin}{{X - Y - {B\; \Gamma}}}_{2}^{2}},} & (4) \end{matrix}$

Thus, the bias matrix is estimated as:

{circumflex over (B)}=(X−Y)Γ^(T)(ΓΓ^(T))⁻¹.  (5)

The transformation parameter estimation module estimate {circumflex over (B)} 115, which is used by the conversion.

Conversion

The conversion operates on actual source speech Y′ 104 and target speech X′ 103.

Source speech feature y′_(t) uses the estimated transformation parameter {circumflex over (B)} 115.

Feature Mapping

The mapping module 112, as used during training, maps the source feature y′_(t) to the posterior probability γ′_(k,t) as

$\begin{matrix} {\gamma_{k,t}^{\prime} = {\frac{N\left( {\left. y_{t}^{\prime} \middle| k \right.,\Theta} \right)}{\sum\limits_{k = 1}^{K}\; {N\left( {\left. y_{t}^{\prime} \middle| k \right.,\Theta} \right)}}.}} & (6) \end{matrix}$

Conversion

The source speech feature y′_(t) is converted using γ′_(k,t) and the estimated transformation parameter {circumflex over (B)} as

$\begin{matrix} {x_{t}^{\prime} = {y_{t}^{\prime} + {\sum\limits_{k = 1}^{K}\; {\gamma_{k,t}^{\prime}{{\hat{b}}_{k}.}}}}} & (7) \end{matrix}$

Thus, the conventional method realizes high-quality speech conversion. The key idea of that method is the mapping to the high-dimensional space based on the GMM to obtain non-linear transformation of the source to target features. However, the GMM based conventional mapping module has the following two problems.

High Dimensionality

The full-covariance Gaussian distribution cannot be correctly estimated when the number of dimensions is very large. Therefore, the method can only use small dimensional features. In general, speech conversion has to consider long context information, e.g., by concatenating several frames of features

X _(t,c) ^((n))=[(X _(t−c) ^((n)))^(T), . . . ,(X _(t) ^((n)))^(T), . . . ,(X _(t+c) ^((n)))^(T)]^(T)).

However, the GMM based approach cannot consider this long context directly due to the dimensionality problem.

SUMMARY OF THE INVENTION

The embodiments of the invention provide a method for converting source speech to target speech. The source speech can include noise, which is reduced during the conversion. However, the conversion can deal with other types of source to target conversions, such speaker normalization, which converts a specific speaker's speech to a canonical speaker's speech data, and voice conversion, which converts speech of a source speaker to that of a target speaker. In addition to the above inter-speaker conversion, the voice conversion can deal with the intra-speaker variation, e.g., by synthesizing various emotional speech of the same speaker and so on.

The method uses compressive sensing (CS) weights during the conversion, and dictionary learning in a feature mapping module. Instead of using posterior values obtained by a GMM as in conventional methods, the embodiments use sparsity constraints and obtains sparse weight as a representation of the source speech. The method maintains accuracy even when the dimensionality of the signal is very large.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow diagram of a convention speech conversion method;

FIG. 2 is a flow diagram of a speech conversion method according to embodiments of the invention;

FIG. 3 is a pseudo code of a dictionary learning process according to embodiments of the invention; and

FIG. 4 is pseudo code of a transformation estimation process according to embodiments of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 2 shows a method for converting source speech 204 to target speech 203 of embodiments of our invention. In one application, the source speech includes noise that is reduced in the target speech. In voice conversion, source speech is source speakers' speech and the target speech is target speaker's speech. In speaker normalization, source speech is specific speaker's speech and target speech is canonical speaker's speech.

The method includes training 210 and conversion 220. Instead of using the GMM mapping is in the prior art, we use a compressive sensing (CS)-based mapping 212. Compressed sensing uses a sparsity constraint that only allows solutions that have a small number of nonzero coefficients in data or a signal that contains a large number of zero coefficients. Hence, sparsity is not an indefinite term, but a term of art in CS. Thus, when the terms “sparse” or “sparsity” are used herein and in the claims, it is understood that we are specifically referring to a CS-based method.

We use the CS-based mapping to determine sparse weights

Ψ={φ_(t) εR ^(D) |t=1, . . . ,T},

even when the dimensionality of the source speech is large.

To estimate the sparse weight, we use a D×K matrix {circumflex over (D)} that forms a dictionary 216. We use the following decomposition

$\begin{matrix} {{{\underset{D,w_{t}}{argmin}{{y_{t} - {Dw}_{t}}}_{2}^{2}} + {{\Lambda \left( w_{t} \right)}\mspace{31mu} {\forall t}}},} & (8) \end{matrix}$

where w_(t) is a vector of the weights at a frame t, Λ(w_(t)) is a regularization term for the weights. The

₁ norm is usually used to determine a sparse solution.

In the transformation estimation step, we use

$\begin{matrix} {\underset{B}{argmin}{{{X - Y - {B\; \Psi}}}_{2}^{2}.}} & (9) \end{matrix}$

As in Eq. (4) of the prior art, except that the feature vector φ_(t), is instead obtained from w_(t), by the CS-based mapping module 212 as described below.

Compressive-Sensing-Based Mapping Module

Two approaches can be used to obtain the sparse weights. The first approach is orthogonal matching pursuit (OMP). OMP is a greedy search procedure used for the recovery of compressive sensed sparse signals.

$\begin{matrix} {{\underset{w_{t}}{argmin}{w_{t}}0\mspace{14mu} {s.t.\mspace{14mu} {{y_{t} - {Dw}_{t}}}_{2}^{2}}} \leq {ɛ.}} & (10) \end{matrix}$

This approach determines a smallest number of non-zero elements among w_(t) that satisfies an upper bound (ε) of a residual of the source speech.

The second approach uses a least absolute shrinkage and selection operator (Lasso), which uses the

₁ regularization term to obtain the sparse weights

$\begin{matrix} {{\underset{w_{t}}{argmin}\; {{y_{t} - {Dw}_{t}}}_{2}^{2}} + {\lambda {{w_{t}}_{1}.}}} & (11) \end{matrix}$

λ is a regularization parameter.

After we obtain the sparse weights, we can determine the posterior probabilities of each dictionary element k as follows:

$\begin{matrix} {{{p\left( k \middle| y_{t} \right)} = {\frac{p\left( y_{t} \middle| k \right)}{\sum\limits_{k = 1}^{K}\; {p\left( y_{t} \middle| k \right)}} \propto {\exp\left( {- \frac{{{y_{t} - {w_{k,t}d_{k}}}}_{2}^{2}}{2\sigma^{2}}} \right)}}},} & (12) \end{matrix}$

where σ² is a variance parameter, which can be estimated from the speech or set manually. Because of the sparseness of w_(k,t), the computational cost of this posterior estimation is very low.

For the feature ψ_(k,t) for the latter transformation step, we have the following two options:

Weight: ψ_(k,t)

w_(k,t), and

Posterior probability: ψ_(k,t)

p(k|y_(t)).

Dictionary Learning

The dictionary can be learned, e.g., using a method of optimal direction (MOD). MOD is based on Lloyd's algorithm, also known as Voronoi iteration or relaxation, to group data points into categories. The MOD estimates D as follows

{tilde over (D)}=ƒ _(nc)(YW ^(T)(WW ^(T))⁻¹),  (13)

where ƒ_(nc)( ) is a function used to normalize the column vectors k to be unit vectors, e.g.,

{tilde over (d)} _(k) →{tilde over (d)} _(k) /|{tilde over (d)} _(k)|.

There are other approaches for estimating the dictionary matrix, e.g., k-singular value decomposition (SVD), and online dictionary learning. The dictionary matrix and sparse vectors are iteratively updated, as shown in FIG. 3.

Transformation Estimation

After we obtain the weights and the dictionary 216, we can consider the similar transformation to Eq. (2) by replacing γ_(k,t) with ψ_(k,t), as

$\begin{matrix} {{x_{t} = {y_{t} + {\sum\limits_{k = 1}^{K}\; {\psi_{k,t}b_{k}}}}},} & (14) \end{matrix}$

or we can represent this equation with a weight matrix Ψ as

X=Y+BΨ.  (15)

By using the same MMSE criterion with Eq. (4), we can obtain the following transformation matrix:

{tilde over (B)}=(X−Y)Ψ^(T)(ΨΨ^(T))⁻¹,  (16)

Thus, the we first map the source speech Y to the sparse weights Ψ using the dictionary, and then the sparse weights are transformed to the bias vectors {circumflex over (B)}Ψ between target and source feature vectors, see FIG. 4.

Multistep Feature Transformation

Because our method converts source features to target features in the same speech feature domain, the process can be iterative. We consider the following extension of feature transformation from Eq. (15)

X ^((n+1)) =X ^((n)) +B ^((n))Ψ^((n)),  (17)

where n is the number of transformation step and X⁽¹⁾

Y. The sparse vectors and the transformation matrix are estimated step-by-step as

$\begin{matrix} {{{\underset{D^{(n)},w_{t}^{(n)}}{argmin}{{x_{t}^{(n)} - {D^{(n)}w_{t}^{(n)}}}}_{2}^{2}} + {{\Lambda \left( w_{t}^{(n)} \right)}\mspace{14mu} {\forall{t.B^{(n)}}}}} = {\left( {X - X^{(n)}} \right)\left( \Psi^{(n)} \right)^{T}{\left( {\Psi^{(n)}\left( \Psi^{(n)} \right)}^{T} \right)^{- 1}.}}} & (18) \end{matrix}$

The iterative process monotonically decreases the

2 norm during the training.

Long Context Features

Our method can consider long context information. There are two ways of considering long context features. One is to consider the context information in the posterior domain at the transformation step, i.e.,

γ_(t,c)=[γ_(t−c) ^(T), . . . ,γ_(t) ^(T), . . . ,γ_(t+c) ^(T)]^(T),

where c is the number of contiguous frames to be considered in this feature expansion. The other is to consider the long context features in the dictionary learning step, i.e.,

X _(t,c) ^((n))=[(X _(t−c) ^((n)))^(T), . . . ,(X _(t) ^((n)))^(T), . . . ,(X _(t+c) ^((n)))^(T)]^(T).

In general, because the GMM cannot correctly deal with high-dimensional features because of the dimensionality problem, the conventional approach uses the posterior domain feature expansion. One of the advantages of dictionary learning is that the approach does not significantly suffer from the dimensionality problem unlike the Gaussian mixture case. In addition, by considering multistep transformation, as described above, the transformation step can consider a longer context. Thus, the embodiments use the long context features in the dictionary learning step.

Implementation

An important factor in applying our method to speech processing is that we consider the computational efficiency of dealing with large-scale speech database, e.g., over five million speech feature frames, which cannot easily be stored. Therefore, we use utterance-by-utterance processing of dictionary learning and transformation estimation, which only stores utterance unit features, weights, and posteriors.

We consider an utterance index u with T_(u) frames. The set of sparse weights for a particular corpus is represented as W_(u), Other frame-dependent values are represented similarly. We mainly have to determine the statistics

WW ^(T),ΨΨ^(T) ,YW ^(T),

(X−Y)Ψ^(T).

We use the following relationship of the sub-matrix property:

$\begin{matrix} {{WW}^{T} = {\sum\limits_{u = 1}^{U}\; {W_{u}{W_{u}^{T}.}}}} & (19) \end{matrix}$

This Eq. (19) indicates that we can determine X, Y, W and Ψ, without storing these matrices in memory, by accumulating these statistics for each utterance, similar to an expectation-maximization (EM) process. However, some dictionary learning techniques, e.g., k-SVD need to explicitly process full frame size matrices, and cannot be represented by Eq. (19). In this case, an online learning based extension is required. We can also parallelize the method for each utterance, or set of utterances.

FIG. 3 shows pseudocode for the dictionary learning, and FIG. 4 for the transformation estimation. The variables used in the pseudocode are described in detail above. All the steps described herein can be performed in a processor connected to memory and input/output interfaces as known in the art.

Although the invention has been described with reference to certain preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the append claims to cover all such variations and modifications as come within the true spirit and scope of the invention. 

We claim:
 1. A method for converting source speech to target speech, comprising the steps of: mapping the source speech to sparse weights; and transforming, using transformation parameters, the sparse weights to the target speech, wherein the steps are performed in a processor.
 2. The method of claim 1, wherein the source speech includes noise that is reduced in the target speech.
 3. The method of claim 1, wherein the mapping is compressive sensing (CS) based.
 4. The method of claim 1, wherein the sparse weights are obtained from a dictionary.
 5. The method of claim 1, wherein the sparse weights are obtained using orthogonal matching pursuit.
 6. The method of claim 1, wherein the sparse weights are a smallest number of non-zero weights that satisfies an upper bound of a residual of the source speech.
 7. The method of claim 1, wherein the sparse weights are obtained using a least absolute shrinkage and selection operator.
 8. The method of claim 4, further comprising: determining a posterior probability for each element in the dictionary.
 9. The method of claim 4, further comprising: learning the dictionary using a method of optimal direction.
 10. The method of claim 4, further comprising: learning the dictionary using k-singular value decomposition.
 11. The method of claim 1, wherein the transforming uses a minimum mean square error estimation.
 12. The method of claim 1, wherein the transforming is according to bias vectors between target speech and the source speech.
 13. The method of claim 1, mapping and transforming is parallelized. 